package com.pc_project.service;

import com.pc_project.domain.Letter;
import com.pc_project.domain.LetterType;

/**
 * @author iceberg-work
 */
public interface LetterService {

    /**
     *发送信件
     *
     * @param suId 发信者id
     * @param ltId 信件内容id
     * @param lInfo 信件内容
     * @return 是否成功（<code>boolean</code>）
     */
    boolean sendLetter(Integer suId, Integer ltId, String lInfo);

    /**
     * 咨询者修改信件内容
     *
     * @param suId 发信者id
     * @param lId 信件id
     * @param lInfo 信件内容
     * @return 是否成功（<code>boolean</code>）
     */
    boolean updateLetter(Integer suId, Integer lId, String lInfo);

    /**
     * 撤回信件
     *
     * @param suId 发信者id
     * @param lId 信件id
     * @return 是否成功（<code>boolean</code>）
     */
    boolean delete(Integer suId, Integer lId);

    /**
     *查询信件类别
     *
     * @param letter 信件
     * @return 信件类别（<code>LetterType</code>）
     */
    LetterType queryLetterType(Letter letter);

    /**
     * 信件池查询信件
     *
     * @param suId 发信者id
     * @param page com.pc_project.domain.VO.Page对象
     * @param ltId 根据类别查询
     * @return 信件池（<code>Object</code>）
     */
    Object queryAll(Integer suId, com.pc_project.domain.VO.Page page, Integer ltId);

    /**
     *查询该用户信件
     *
     * @param suId 发信者id
     * @param ltId 根据信件类型id
     * @param page com.pc_project.domain.VO.Page对象
     * @return 用户信件（<code>Object</code>）
     */
    Object queryLetter(Integer suId, Integer ltId, com.pc_project.domain.VO.Page page);
}
